Elixir (langage)

Un article de Wikipédia, l'encyclopédie libre.

Elixir
Logo.

Date de première version 2011
Paradigme Fonctionnel, concurrent
Auteur José Valim Hernàndez
Développeur José Valim Hernàndez
Dernière version 1.16.2 ()[1]Voir et modifier les données sur Wikidata
Typage Dynamique
Influencé par Erlang, Clojure, Ruby
Licence Licence Apache
Site web elixir-lang.orgVoir et modifier les données sur Wikidata
Extension de fichier ex et exsVoir et modifier les données sur Wikidata

Elixir est un langage de programmation multi-paradigme fonctionnant sur la machine virtuelle Erlang (BEAM). Il est créé en 2011 par le développeur José Valim, personnalité du monde Ruby et l'un des premiers contributeurs au framework de programmation Ruby on Rails. Il intègre les paradigmes de programmation fonctionnelle, programmation concurrente et programmation orientée processus (en), et supporte la métaprogrammation via un système de macros et le polymorphisme via un système dit de protocoles.

Historique[modifier | modifier le code]

Elixir est né de plusieurs constats ; d'une part le fait que la fréquence des processeurs cesse de progresser durant les années 2000, laissant place à l'émergence de processeurs multi-cœurs[2],[3] ; et d'autre part que l'écosystème Erlang, et notamment sa machine virtuelle, tire avantage de ce type d'architectures multi-processeurs, toute exécution d'un programme étant constituée d'un ensemble de micro processus parallèles[2]. Elixir est précisément né afin de pallier certaines carences d'Erlang relatives à certains paradigmes ou certaines approches de programmation telles que la métaprogrammation ou le polymorphisme[4].

Syntaxe[modifier | modifier le code]

Exemple de code :

IO.puts("Hello, World!")

Liens externes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Dave Thomas, Programming Elixir : : Functional |> Concurrent |> Pragmatic |> Fun, Dallas, Texas, The Pragmatic Bookshelf, , 280 p. (ISBN 978-1-937785-58-1)

Notes et références[modifier | modifier le code]

  1. a et b « Release 1.16.2 », (consulté le )
  2. a et b (Thomas, p. 13)
  3. José Valim, « Concurrent and Distributed Programming with Erlang and Elixir », Huffington Post, 27 novembre 2013.
  4. (Thomas, p. 14)